package tp.tecnicasdisenio.model.regla;

import tp.tecnicasdisenio.model.AccionInterface;
import tp.tecnicasdisenio.model.AutoRespondedorInterface;
import tp.tecnicasdisenio.model.MailInterface;
import tp.tecnicasdisenio.model.parser.ParserTituloAbstract;

public class ReglaOnTheFly extends ReglaAbstract {

	@Override
	public ParserTituloAbstract getParserTitulo() {
		return null;
	}
	
	@Override
	public boolean aplica(MailInterface mail) {
		return mail.getTitulo().toUpperCase().equals("[TEST-REGLA-ON-THE-FLY]");
	}

	@Override
	public void aplicarAccionesSobre(MailInterface mail, AutoRespondedorInterface autoRespondedor) {
		System.out.println("RESPONSABLE ACTUAL: " + this.getClass().getSimpleName());
		if(!this.aplica(mail)){
			System.out.println("    no aplica: " + this.getClass().getSimpleName());
			pasarResponsabilidad(mail, autoRespondedor);
		}else{
			System.out.println("APLICA REGLA: " + this.getClass().getSimpleName());
			mail.aplicaRegla();
			autoRespondedor.responderA(mail, "Respuesta desde ReglaOnTheFly");
		}
	}

	@Override
	public void nuevaAccion(AccionInterface accion) {
		
	}

}
